package com.feiyuan.modules.orderNo.service.impl;

import com.feiyuan.modules.orderNo.service.GenerateOrderNoService;
import org.springframework.stereotype.Service;

import java.time.Duration;
import java.time.LocalDateTime;
import java.util.Random;

/**
 * 生成订单号
 */
@Service
public class GenerateOrderNoServiceImpl implements GenerateOrderNoService {

    /**
     * 1.前2位：表示订单的地域信息，如11代表北京，21代表上海。
     * 2.第3位：表示订单的交易方式，1代表一般交易，2代表预售交易，3代表团购交易。
     * 3.第4位到第8位：表示订单的下单时间，精确到分钟。
     * 4.第9位到第11位：表示订单的商家信息，每个商家有独立的编号。
     * 5.第12位到第14位：表示订单的流水号，每个订单在同一商家内是唯一的。
     * 6.第15位：表示订单的校验码，用于验证订单号码的正确性。
     * @return
     */
    @Override
    public String getTypeOne(String tradeType) {
        // 前两位需要用到定位，这里暂时不用，暂时全部用北京的
        String region = "11";

        // 下单时间
        return null;
    }

    /**
     * 随机获取交易方式
     * @return
     */
    @Override
    public String getTradeType() {
        String[] str = new String[]{"1", "2", "3"};

        Random random = new Random();
        int index = random.nextInt(str.length);

        String selected = str[index];
        return selected;
    }

//    public static void main(String[] args) {
//        String[] str = new String[]{"1", "2", "3"};
//
//        Random random = new Random();
//        int index = random.nextInt(str.length);
//
//        String selected = str[index];
//        System.out.println("Randomly selected element: " + selected);
//    }
}
